import axios from 'axios';

// 创建 axios 实例
const request = axios.create({
    baseURL: '/', // 使用相对路径，让 Vite 代理处理
    timeout: 5000,
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    }
});

// 请求拦截器
request.interceptors.request.use(
    config => {
        // 这里可以添加 loading 状态
        console.log('发送请求:', config.url);
        return config;
    },
    error => {
        console.error('请求错误:', error);
        return Promise.reject(error);
    }
);

// 响应拦截器
request.interceptors.response.use(
    response => {
        console.log('收到响应:', response.data);
        return response.data;
    },
    error => {
        console.error('响应错误:', error);
        if (error.response) {
            // 服务器返回错误状态码
            const status = error.response.status;
            const data = error.response.data;
            
            switch (status) {
                case 400:
                    console.error('请求参数错误');
                    break;
                case 401:
                    console.error('未授权，请登录');
                    // 这里可以处理登录跳转
                    break;
                case 403:
                    console.error('拒绝访问');
                    break;
                case 404:
                    console.error('请求地址不存在');
                    break;
                case 500:
                    console.error('服务器内部错误');
                    break;
                default:
                    console.error('其他错误');
            }
            
            return Promise.reject(data || { message: '服务器响应错误' });
        }
        return Promise.reject(error);
    }
);

export default request; 